package e_superMethod;

//3.用于继承Human
public class Man extends Human{

    @Override
    public void hi(String msg) {
        System.out.println("hi man:" + msg);
    }

    /*在子类中定义方法 这个方法中要用到super
        目的: 为了传入lambda表达式作为方法参数使用
     */
    public void sayHello(String s,Greetable g){
        g.greet(s);
    }

    /*展示的方法
        目的: 为了调用super,super最终的形式是必须在lambda中写的.
     */
    public void show(){
        //sayHello("你好吃了吗?", s -> super.hi(s));

        /*
        方法引用优化以上的写法
        1.super对象必定是存在
        2.父类中的hi方法也是存在
     */
        sayHello("hello",super::hi);
    }





















}
